home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 1 (Walnut Creek)
/
Aminet - June 1993 [Walnut Creek].iso
/
aminet
/
dev
/
lang
/
pcq12b.lzh
/
Include
/
Exec
/
Ports.i
< prev
next >
Wrap
Text File
|
1990-08-27
|
1KB
|
56 lines
{
Ports.i for PCQ Pascal
This file defines ports and messages, which are used for inter-
task communications using the routines defined toward the
bottom of this file.
}
{$I "Include:Exec/Nodes.i"}
{$I "Include:Exec/Lists.i"}
type
PortType = (PASignal, PASoftInt, PAIgnore, PFAction);
{****** MsgPort *****************************************************}
MsgPort = record
mp_Node : Node;
mp_Flags : PortType;
mp_SigBit : Byte; { signal bit number }
mp_SigTask : Address; { task to be signalled (TaskPtr) }
mp_MsgList : List; { message linked list }
end;
MsgPortPtr = ^MsgPort;
{****** Message *****************************************************}
Message = record
mn_Node : Node;
mn_ReplyPort : MsgPortPtr; { message reply port }
mn_Length : Short; { message len in bytes }
end;
MessagePtr = ^Message;
Procedure AddPort(port : MsgPortPtr);
External;
Function FindPort(name : String): MsgPortPtr;
External;
Function GetMsg(port : MsgPortPtr): MessagePtr;
External;
Procedure PutMsg(port : MsgPortPtr; mess : MessagePtr);
External;
Procedure RemPort(port : MsgPortPtr);
External;
Procedure ReplyMsg(mess : MessagePtr);
External;
Function WaitPort(port : MsgPortPtr): MessagePtr;
External;